#include <camera.h>
Inheritance diagram for mudbox::Camera:
The picture you see in the Mudbox view is "through" the active Camera object. Cameras may be orthographic or perspective.
Public Member Functions |
|
virtual const mudbox::ClassDesc * | RuntimeClass (void) const |
virtual Vector | Forward (void) const |
Returns a normalized vector indicating the
camera's direction of view in world space. |
|
virtual Vector | Up (void) const |
Returns a normalized vector indicating the
camera's "up" direction in world space. |
|
virtual Vector | Right (void) const |
Returns a normalized vector indicating the
camera's "right" direction in world space. |
|
virtual float | Yaw (void) const |
Returns the yaw of the camera in
radians. |
|
virtual float | Pitch (void) const |
Returns the pitch of the current
camera in radians. |
|
virtual float | Roll (void) const |
Returns the roll of the current
camera in radians. |
|
virtual Vector | Position (void) const |
Returns the position of the camera in world
space. |
|
virtual void | SetYawPitchRoll (const Vector &vYPR) |
Sets rotation of the camera, specified as
yaw, pitch and roll values. |
|
virtual void | AddYawPitchRoll (const Vector &vYPR) |
Add a rotation to the camera, specified as
yaw, pitch and roll values. |
|
virtual void | SetForwardUpRight (const Vector &vForward, const Vector &vUp, const Vector &vRight) |
Sets the rotation of the camera, specified
as three vectors. |
|
virtual void | SetTarget (const Vector &vTarget, const Vector &vUpDir=Vector(0, 1, 0)) |
Set the rotation of the camera, by telling
it what to point at. |
|
virtual void | SetPosition (const Vector &vPosition) |
Set the location of the camera in world
space. |
|
virtual void | MoveForward (float fRange) |
Move the camera forward along its view
direction. Its rotation remains unchanged. |
|
virtual void | MoveUp (float fRange) |
Move the camera up. Its rotation remains
unchanged. |
|
virtual void | MoveRight (float fRange) |
Move the camera right. Its rotation remains
unchanged. |
|
virtual void | MoveBackward (float fRange) |
Move the camera backward along its view
direction. Its rotation remains unchanged. |
|
virtual void | MoveDown (float fRange) |
Move the camera down. Its rotation remains
unchanged. |
|
virtual void | MoveLeft (float fRange) |
Move the camera left. Its rotation remains
unchanged. |
|
virtual Vector | Project (const Vector &vWorldPosition) const |
Takes a point in world space and returns its
position in screen coordinates. |
|
virtual Vector | UnProject (const Vector &vScreenPosition) const |
Takes a point in screen space and returns
its position in world space. |
|
virtual mudbox::Matrix | Matrix (bool bOffscreen=false) const |
Returns the matrix used by the camera to
transform world space positions to screen space. |
|
virtual float | FOV (void) const |
Returns the vertical field of view in
radians. |
|
virtual float | Near (void) const |
Returns the near clip plane distance from
the camera. |
|
virtual float | Far (void) const |
Returns the far clip plane distance from the
camera. |
|
virtual float | AspectRatio (void) const |
Returns the current aspect ratio of the
viewport. |
|
virtual void | SetFOV (float fFOV) |
Sets the vertical field of view of the
camera. |
|
virtual void | SetNear (float fNear) |
Sets the near clip plane for the camera.
|
|
virtual void | SetFar (float fFar) |
Sets the far clip plane for the camera.
|
|
virtual void | SetAspectRatio (float fAspectRatio) |
Sets the aspect ratio for the camera.
|
|
virtual float | Scale2D (void) const |
Returns the 2d scale factor. |
|
virtual float | Angle2D (void) const |
Returns the 2d rotation amount. |
|
virtual Vector | Position2D (void) const |
Returns the 2d offset. |
|
virtual void | SetScale2D (float fScale2D) |
Sets the 2d scale factor. |
|
virtual void | SetAngle2D (float fAngle2D) |
Sets the 2d rotation amount. |
|
virtual void | SetPosition2D (const Vector &vPosition2D) |
Sets the 2d offset. |
|
virtual void | CopyFrom (const Camera &cOther) |
Make this camera identical to another one.
|
|
virtual bool | IsEqualTo (const Camera &cOther) const |
Returns true if this camera is equal
to the other one. |
|
virtual bool | Pick (float fXPosition, float fYPosition, SurfacePoint &sResult) |
Returns the point displayed at the given
screen location. |
|
virtual const Vector & | Aim () const |
Returns the world-space point around which
the camera rolls when you navigate in the 3d view. |
|
virtual void | SetAim (const Vector &v) |
Sets the point around which the camera will
rotate when you navigate in the 3d view. |
|
virtual bool | Orthographic () const |
Returns true if the camera is
orthographic. |
|
virtual void | SetOrthographic (bool isOrtho) |
Sets the camera to be orthographic or
perspective. |
|
Static Public Member Functions |
|
const mudbox::ClassDesc * | StaticClass (void) |
mudbox::Node * | CreateInstances (unsigned int iCount=1) |
Protected Member Functions |
|
Camera (void) | |
Constructor. Do not use directly. |
|
Constructor. Do not use directly. Instead of constructing cameras directly, you should use CreateInstance() like this: Camera *myNewCamera = CreateInstance<Camera>(); |
|
Reimplemented from mudbox::GroupNode. 00027 : |
|
Reimplemented from mudbox::GroupNode. |
|
Reimplemented from mudbox::GroupNode. |
|
Returns a normalized vector indicating the camera's direction of view in world space. |
|
Returns a normalized vector indicating the camera's "up" direction in world space. |
|
Returns a normalized vector indicating the camera's "right" direction in world space. |
|
Returns the yaw of the camera in radians. "Yaw" refers to the amount of rotation around the vertical (Y) axis. |
|
Returns the pitch of the current camera in radians. "Pitch" refers to the amount of rotation around the horizontal axis running perpendicular to the direction of view. (i.e., tilting the camera up and down) |
|
Returns the roll of the current camera in radians. "Roll" refers to the amount of rotation around the camera's direction of view. (i.e., tilting the camera from side to side) |
|
Returns the position of the camera in world space. |
|
Sets rotation of the camera, specified as yaw, pitch and roll values. All values are in radians. The position of the camera remains unchanged. "Yaw" refers to the amount of rotation around the vertical (Y) axis. "Pitch" refers to the amount of rotation around the horizontal axis running perpendicular to the direction of view. (i.e., tilting the camera up and down) "Roll" refers to the amount of rotation around the camera's direction of view. (i.e., tilting the camera from side to side)
|
|
Add a rotation to the camera, specified as yaw, pitch and roll values. All values are in radians. The position of the camera remains unchanged. "Yaw" refers to the amount of rotation around the vertical (Y) axis. "Pitch" refers to the amount of rotation around the horizontal axis running perpendicular to the direction of view. (i.e., tilting the camera up and down) "Roll" refers to the amount of rotation around the camera's direction of view. (i.e., tilting the camera from side to side)
|
|
Sets the rotation of the camera, specified as three vectors. The specified vectors do not need to be normalized, but they do need to be non-zero, and all orthographic to each other. Failure to do this will result in undefined or distorted camera views.
|
|
Set the rotation of the camera, by telling it what to point at. The camera stays in its current position, but rotates so that the view direction points at the specified target. By default, the new "up" vector will be as close to vertical as possible, but you can override this to specify another up vector.
|
|
Set the location of the camera in world space.
|
|
Move the camera forward along its view direction. Its rotation remains unchanged.
|
|
Move the camera up. Its rotation remains unchanged.
|
|
Move the camera right. Its rotation remains unchanged.
|
|
Move the camera backward along its view direction. Its rotation remains unchanged.
|
|
Move the camera down. Its rotation remains unchanged.
|
|
Move the camera left. Its rotation remains unchanged.
|
|
Takes a point in world space and returns its position in screen coordinates. The X and Y values of the vector give the location in screen space. Screen space goes from (-1,-1) in the lower-left to (1,1) in the upper right, with (0,0) being the center of the screen. The returned Z value represents the distance from the camera to the point. A value of 0.0 indicates the point is at the near clip plane, and a value of 1.0 places it at the far clip plane. Values outside the range 0 to 1 will not be visible (they would be clipped).
|
|
Takes a point in screen space and returns its position in world space. Screen space goes from (-1,-1) in the lower-left to (1,1) in the upper right. The center of the screen is (0,0). The Z value in your specified screen-space point should be in the range 0.0 to 1.0. This will control the depth of the point. If you specify 0.0, the returned world space point will be on the near clipping plane. If you specifiy 1.0, the returned world space point will be on the far clipping plane.
|
|
Returns the matrix used by the camera to transform world space positions to screen space.
|
|
Returns the vertical field of view in radians. You can calculate the horizontal field of view like this: hFOV = atan( aspectRatio * tan(vFOV) ); |
|
Returns the near clip plane distance from the camera. |
|
Returns the far clip plane distance from the camera. |
|
Returns the current aspect ratio of the viewport. Aspect ratio is the width of the viewport divided by its height. |
|
Sets the vertical field of view of the camera.
|
|
Sets the near clip plane for the camera.
|
|
Sets the far clip plane for the camera.
|
|
Sets the aspect ratio for the camera. The aspect ratio is the width of the viewport divided by the height.
|
|
Returns the 2d scale factor. This is a scale factor that is applied to the scene after it is projected from world space into screen space. Normally this is 1.0. |
|
Returns the 2d rotation amount. This is a rotation that is applied to the scene after it is projected from world space into screen space. Rotation is around the point 0,0 in screen space. Positive values rotate clockwise. Returns the angle in radians. |
|
Returns the 2d offset. This is an offset that is applied to the scene after it is projected from world space into screen space. |
|
Sets the 2d scale factor. This is a scale factor that is applied to the scene after it is projected from world space into screen space. Changing this makes the image smaller or larger without affecting perspective in any way.
|
|
Sets the 2d rotation amount. This is a rotation that is applied to the scene after it is projected from world space into screen space. Rotation is around the point 0,0 in screen space. Positive values rotate clockwise.
|
|
Sets the 2d offset. This is an offset that is applied to the scene after it is projected from world space into screen space. Applying a 2d offset lets you move the screen image around without changing perspective at all.
|
|
Make this camera identical to another one.
|
|
Returns true if this camera is equal to the other one.
|
|
Returns the point displayed at the given screen location. Given X and Y coordinates in screen space, this method sees if
any geometry is displayed at those coordinates. If not,
false is returned. If there is geometry there, true
is returned, and
|
|
Returns the world-space point around which the camera rolls when you navigate in the 3d view. |
|
Sets the point around which the camera will rotate when you navigate in the 3d view. This point is changed by various navigation actions, such as panning the camera or using the F or A keys to reposition the camera.
|
|
Returns true if the camera is orthographic. |
|
Sets the camera to be orthographic or perspective.
|